package edu.umd.rhsmith.diads.tools.tfidf;
import java.util.LinkedList;
import java.util.List;
public class DefaultTermFilter implements TermFilter {
private TermFilter preFilter;
private TermCleaner cleaner;
public DefaultTermFilter() {
this.preFilter = null;
this.cleaner = null;
}
public TermFilter getPreFilter() {
return preFilter;
}
public void setPreFilter(TermFilter preFilter) {
this.preFilter = preFilter;
}
public TermCleaner getCleaner() {
return cleaner;
}
public void setCleaner(TermCleaner cleaner) {
this.cleaner = cleaner;
}
@Override
public List<String> filterTerms(List<String> terms) {
if (this.preFilter != null) {
terms = preFilter.filterTerms(terms);
}
if (this.cleaner != null) {
List<String> cleanedTerms = new LinkedList<String>();
for (String term : terms) {
term = this.cleaner.clean(term);
if (term != null) {
cleanedTerms.add(term);
}
}
terms = cleanedTerms;
}
return terms;
}
}